package cn.tedu.fy.pethome.mapper;

import cn.tedu.fy.pethome.pojo.dto.OrderListTimeDTO;
import cn.tedu.fy.pethome.pojo.entity.Order;
import cn.tedu.fy.pethome.pojo.entity.OrderItem;
import cn.tedu.fy.pethome.pojo.vo.OrderListVO;
import org.springframework.stereotype.Repository;

import java.util.List;
@Repository
public interface OrderMapper {
    //新增订单对象到数据库的方法
    void insertOrder(Order order);

    //新增订单项的方法
    //一个订单可以包含多个订单项,所以在设计新增时,将这个方法的参数设计成List
    //参数是list需要在XMLSQL语句中使用foreach遍历
    void insertOrderItems(List<OrderItem> omsOrderItems);

    //根据id删除orderItem订单
    void deleteOrder(Long id);

    //根据spuId删除orderItems
    void deleteOrderItems(Long spuId);

    //动态修改订单的SQL,根据给定的id值,修改其他各列的值
    void updateOrderById(Long id);

    //根据起始结束时间查询订单列表
    List<OrderListVO> selectOrders(OrderListTimeDTO orderListTimeDTO);

    //根据orderId查询所有orderItem的信息
    List<OrderItem> selectOrderItems(Long OrderId);
}
